Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle Gerudo Fortress heart piece in logic #2179

Merged
merged 7 commits into from
Dec 12, 2024

Conversation

fenhl
Copy link
Collaborator

@fenhl fenhl commented Feb 16, 2024

The piece of heart at the top of the Gerudo Fortress jail is normally unreachable without glitches, so it was previously ignored. With #1616 though, it can become reachable, and it has always been reachable using glitches. In these cases, the heart piece is now in logic for the purpose of heart win conditions.

With hideout entrances shuffled, there is also a setting to choose the behavior of the location, since just having an extra heart piece available compared to vanilla is not something everyone will want to play with. The options are to completely remove the location (the default when hideout entrances are shuffled), to keep it unshuffled, or to shuffle it. I've tested the behavior of all 3 options in game. To avoid GUI clutter, this setting is hidden if hideout ER is off.

In glitched logic, the heart piece is always unshuffled and in logic with hovering. If there is interest in making the shuffle setting available for glitched logic as well, it could be added once enable relations (#1827) are implemented.

With hideout ER off and glitchless logic, the heart piece is still an out-of-logic heart piece, but it now behaves properly with respect to the behavior introduced in #1518. This is achieved by adding a new item that is logically junk but has the same get item ID as regular heart pieces, which is similar to how blue fire arrows and magic bean packs work, and adding an entrance from the Root region to collect this item, similar to Skip Child Zelda.

Fixes #1971.

@fenhl fenhl added Type: Bug Something isn't working Type: Enhancement New feature or request Component: Logic Non-trivial changes to the JSON logic files Component: Algorithm Search, Fill, Playthrough, etc Status: Needs Review Someone should be looking at it Component: Setting specific to setting(s) Status: Under Consideration Developers are considering whether to accept or decline the feature described labels Feb 16, 2024
@r0bd0g
Copy link

r0bd0g commented Feb 16, 2024

How does shuffling it affect the item pools?

@fenhl
Copy link
Collaborator Author

fenhl commented Feb 16, 2024

The extra heart piece is added to the main item pool, regardless of the “Item Pool” setting.

@r0bd0g
Copy link

r0bd0g commented Feb 16, 2024

It should be changed to not affect the number of poh's in minimal, so that it actually stays minimal. Minimal should always only have the winner. (Did we ever change anything to put more hearts in the pool if they try to combine an item pool like this with a heart wincon? Can't remember.)

(I kind of feel like scarce should round down and not include it also?, but it doesn't matter.)
(In plentiful, pohs are replaced by containers where possible. I think you should replace 4 poh's with a container? Leaving winner as the only extra poh.)

@fenhl
Copy link
Collaborator Author

fenhl commented Apr 1, 2024

I was mistaken, Minimal removes the heart piece since it applies a maximum, not a subtraction. Scarce still adds the one extra heart piece, which makes sense imo.

Plentiful outright removes the extra heart piece right now. I'll see if I can change it per your suggestion, it sounds like a good idea.

@fenhl fenhl removed the Status: Under Consideration Developers are considering whether to accept or decline the feature described label Jul 1, 2024
data/World/Overworld.json Show resolved Hide resolved
ItemPool.py Show resolved Hide resolved
@fenhl fenhl requested a review from cjohnson57 December 12, 2024 05:35
@fenhl fenhl removed the Status: Needs Review Someone should be looking at it label Dec 12, 2024
@fenhl fenhl added this to the next milestone Dec 12, 2024
@fenhl fenhl merged commit 16c48c4 into OoTRandomizer:Dev Dec 12, 2024
3 checks passed
@fenhl fenhl deleted the fortress-poh branch December 12, 2024 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Algorithm Search, Fill, Playthrough, etc Component: Logic Non-trivial changes to the JSON logic files Component: Setting specific to setting(s) Type: Bug Something isn't working Type: Enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

37th Piece of Heart exists
3 participants